/**
 * Implementation classes must adhere to the same rules for method 
 * implementation as a class extending an ABSTRACT class. In order to be a 
 * legal implementation class, a NON-ABSTRACT implementation class must do the 
 * following:
 * 
 * Provide concrete (NON-ABSTRACT) implementations for all methods from the 
 * 	declared interface;
 * Follow all the rules for legal overrides;
 * Declare no checked exceptions on implementation methods other than those 
 * declared by the interface method, or sub-classed of those declared by the
 * interface method;
 * Maintain the signature of the interface method, and maintain the same return
 * type (or a sub-type). But it does not have to declare the exceptions declared 
 * in the interface method declaration);
 * NOTES:
 * An implementation class can itself be abstract.
 * ex: abstract class Ball implements Bounceable{}
 */
package session2.interfaces;

public class Ball implements Bounceable {

	@Override
	public void bounce() {
	}

	@Override
	public void setBounceFactor(int bf) {
	}
}
